package com.cai.dao;

import com.cai.entity.Items;
import com.cai.entity.User;
import java.util.List;

/**
 * @author RuoLi
 * 统计数据方法
 */
public interface UtilsDao {

    /**
     * 器材分页
     * @param startRow 页数
     * @param pageSize 数据量
     * @return 结果集
     */
    List<Items> itemQueryPage(int startRow,int pageSize);

    /**
     * 用户分页
     * @param startRow 页数
     * @param pageSize 一页显示数据量
     * @return list
     */
    List<User> userQueryPage(int startRow,int pageSize);

    /**
     * 查看总用户数量
     *
     * @return 总人数（总数据行数）
     */
    int selectAllPersonCount();

    /**
     * 查看所有器材数量
     * @return int
     */
    int selectAllItemsCount();

    /**
     * 查看各种人员人数
     *
     * @param typeName 人员类型名称
     * @return 人数
     */
    int selectPersonCount(String typeName);

    /**
     * 查看器材借出归还数量
     *
     * @param name item_send | item_return
     * @return 数量
     */
    int selectItemCount(String name);

    /**
     * 查看器材类型数量
     *
     * @param name 计量器具|电器|其他器具
     * @return 数量
     */
    int selectItemType(String name);

    /**
     * 查看在线人数
     *
     * @return 人数
     */
    int selectOnlineCount();

    /**
     * 分页工具类
     * @param sql sql语句
     * @param startRow 页数
     * @param pageSize 当前页数据量
     * @param type 类名
     * @return 返回结果集
     */
    List<?> queryPage(String sql, int startRow, int pageSize, Class<?> type);
}
